package domain;

public class Producto implements Comparable<Object> {

	@Override
	public String toString() {
		return "Producto [id_producto=" + id_producto + ", titulo=" + titulo
				+ ", autor=" + autor + ", ano=" + ano + ", duracion="
				+ duracion + ", descripcion=" + descripcion + ", puntuacion="
				+ puntuacion + ", puntuacionSuma=" + puntuacionSuma
				+ ", numeroValoraciones=" + numeroValoraciones + ", estado="
				+ estado + ", precioAlquiler=" + precioAlquiler
				+ ", precioCompra=" + precioCompra + "]";
	}

	private int id_producto;
	private String titulo;
	private String autor;
	private int ano;
	private int duracion;
	private String descripcion;
	private double puntuacion;
	private double puntuacionSuma;

	private int numeroValoraciones;

	private String estado;

	private double precioAlquiler;
	private double precioCompra;

	public Producto(String titulo, String autor, int ano, int duracion,
			String descripcion, double precioAlquiler, double precioCompra,
			double valoracion, String estado, int id, int numeroV,
			double puntuacionSuma) {

		this.titulo = titulo;
		this.autor = autor;
		this.ano = ano;
		this.duracion = duracion;
		this.descripcion = descripcion;
		this.precioAlquiler = precioAlquiler;
		this.precioCompra = precioCompra;
		this.puntuacion = valoracion;
		this.estado = estado;

		this.id_producto = id;
		this.numeroValoraciones = numeroV;
		this.puntuacionSuma = puntuacionSuma;
	}

	public double getPuntuacionSuma() {
		return puntuacionSuma;
	}

	public void setPuntuacionSuma(double puntuacionSuma) {
		this.puntuacionSuma = puntuacionSuma;
	}

	public int getNumeroValoraciones() {
		return numeroValoraciones;
	}

	public void setNumeroValoraciones(int numeroValoraciones) {
		this.numeroValoraciones = numeroValoraciones;
	}

	public int getId_producto() {
		return id_producto;
	}

	@Override
	public int hashCode() {

		return titulo.hashCode();

	}

	@Override
	public boolean equals(Object obj) {

		Producto producto = (Producto) obj;
		return producto.getTitulo().equals(titulo);

	}

	public void setId_producto(int id_producto) {
		this.id_producto = id_producto;
	}

	public double getPuntuacion() {
		return puntuacion;
	}

	public void setPuntuacion(double puntuacion) {
		this.puntuacion = puntuacion;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getAutor() {
		return autor;
	}

	public void setAutor(String autor) {
		this.autor = autor;
	}

	public int getAno() {
		return ano;
	}

	public void setAno(int ano) {
		this.ano = ano;
	}

	public int getDuracion() {
		return duracion;
	}

	public void setDuracion(int duracion) {
		this.duracion = duracion;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public double getPrecioAlquiler() {
		return precioAlquiler;
	}

	public void setPrecioAlquiler(double precioAlquiler) {
		this.precioAlquiler = precioAlquiler;
	}

	public double getPrecioCompra() {
		return precioCompra;
	}

	public void setPrecioCompra(double precioCompra) {
		this.precioCompra = precioCompra;
	}

	@Override
	public int compareTo(Object o) {
		Producto p = (Producto) o;

		return String.valueOf(puntuacion).compareTo(
				String.valueOf(p.getPuntuacion()));
	}

}
